package com.nmsl.inpatientjin.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.nmsl.nurse.domain.EmergencyContact;


import com.nmsl.sn.domain.SnVisitRecord;
import com.nmsl.system.domain.JinDepartments;
import com.nmsl.system.domain.JinEmployee;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.nmsl.common.annotation.Excel;
import com.nmsl.common.core.domain.BaseEntity;

/**
 * 住院医生工作台对象 hospitalization_registration
 *
 * @author jin
 * @date 2025-02-22
 */

public class JinHospitalizationRegistration extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 登记编号
     */
    private Long registrationId;

    /**
     * 患者id
     */
    @Excel(name = "患者id")
    private Long patientId;
    private JinPatient patient;
    private JinDepartments departments;

    /**
     * 入院时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入院时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date admissionTime;

    /**
     * 科室
     */
    @Excel(name = "科室")
    private Long departmentId;

    /**
     * 床位号
     */
    @Excel(name = "床位号")
    private Long bedNumber;

    /**
     * 管床医生
     */
    @Excel(name = "管床医生")
    private Long doctorId;
    private JinEmployee doctor;

    /**
     * 紧急联系人
     */
    @Excel(name = "紧急联系人")
    private Long emergencyContactId;
    private EmergencyContact emergencyContact;

    /**
     * 护士
     */
    @Excel(name = "护士")
    private Long nurseId;
    private JinEmployee nurse;
    /**
     * 就诊记录id
     */
    @Excel(name = "就诊记录id")
    private Long visitRecordId;
private SnVisitRecord snVisitRecord;
    /**
     * 扩展字段2
     */
    @Excel(name = "扩展字段2")
    private String ext2;

    /**
     * 扩展字段3
     */
    @Excel(name = "扩展字段3")
    private String ext3;

    /**
     * 扩展字段4
     */
    @Excel(name = "扩展字段4")
    private String ext4;

    /**
     * 扩展字段5
     */
    @Excel(name = "扩展字段5")
    private String ext5;

    public SnVisitRecord getSnVisitRecord() {
        return snVisitRecord;
    }

    public void setSnVisitRecord(SnVisitRecord snVisitRecord) {
        this.snVisitRecord = snVisitRecord;
    }

    public JinEmployee getNurse() {
        return nurse;
    }

    public void setNurse(JinEmployee nurse) {
        this.nurse = nurse;
    }

    public EmergencyContact getEmergencyContact() {
        return emergencyContact;
    }

    public void setEmergencyContact(EmergencyContact emergencyContact) {
        this.emergencyContact = emergencyContact;
    }

    public JinEmployee getDoctor() {
        return doctor;
    }

    public void setDoctor(JinEmployee doctor) {
        this.doctor = doctor;
    }

    public JinDepartments getDepartments() {
        return departments;
    }

    public void setDepartments(JinDepartments departments) {
        this.departments = departments;
    }

    public void setRegistrationId(Long registrationId) {
        this.registrationId = registrationId;
    }

    public Long getRegistrationId() {
        return registrationId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Long getPatientId() {
        return patientId;
    }

    public void setAdmissionTime(Date admissionTime) {
        this.admissionTime = admissionTime;
    }

    public Date getAdmissionTime() {
        return admissionTime;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setBedNumber(Long bedNumber) {
        this.bedNumber = bedNumber;
    }

    public Long getBedNumber() {
        return bedNumber;
    }

    public void setDoctorId(Long doctorId) {
        this.doctorId = doctorId;
    }

    public Long getDoctorId() {
        return doctorId;
    }

    public void setEmergencyContactId(Long emergencyContactId) {
        this.emergencyContactId = emergencyContactId;
    }

    public Long getEmergencyContactId() {
        return emergencyContactId;
    }

    public void setNurseId(Long nurseId) {
        this.nurseId = nurseId;
    }

    public Long getNurseId() {
        return nurseId;
    }

    public void setVisitRecordId(Long visitRecordId) {
        this.visitRecordId = visitRecordId;
    }

    public Long getVisitRecordId() {
        return visitRecordId;
    }

    public void setExt2(String ext2) {
        this.ext2 = ext2;
    }

    public String getExt2() {
        return ext2;
    }

    public void setExt3(String ext3) {
        this.ext3 = ext3;
    }

    public String getExt3() {
        return ext3;
    }

    public void setExt4(String ext4) {
        this.ext4 = ext4;
    }

    public String getExt4() {
        return ext4;
    }

    public void setExt5(String ext5) {
        this.ext5 = ext5;
    }

    public String getExt5() {
        return ext5;
    }

    public JinPatient getPatient() {
        return patient;
    }

    public void setPatient(JinPatient patient) {
        this.patient = patient;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("registrationId", getRegistrationId())
                .append("patientId", getPatientId())
                .append("admissionTime", getAdmissionTime())
                .append("departmentId", getDepartmentId())
                .append("bedNumber", getBedNumber())
                .append("doctorId", getDoctorId())
                .append("emergencyContactId", getEmergencyContactId())
                .append("nurseId", getNurseId())
                .append("visitRecordId", getVisitRecordId())
                .append("ext2", getExt2())
                .append("ext3", getExt3())
                .append("ext4", getExt4())
                .append("ext5", getExt5())
                .append("patient", getPatient())
                .toString();
    }
}
